As personal computers have gained widespread use, passwords have become ever more important to protect sensitive information, by limiting access computers and the data stored on them. A problem arises, when users forget their passwords or are unavailable when access to the information is needed. Password recovery (or “password cracking”) is the processes of determining an unknown password. Typical password recovery agents or cracking programs iteratively generate words in an effort to determine the password. Typically the words are generated in a linear fashion, from a predetermined standard character string.
The password recovery process can require considerable processing resources and time, depending on the size of the password that is being recovered (i.e., the allowable number of character positions that the password may have) and the number of permissible characters that the password may include (e.g., lower-case letters, capital letters, numbers, spaces, symbols, etc.). For each additional allowable character position, the time to recover the password increases exponentially. For passwords, of six or more characters, checking all possible character combinations into this 6th place can mean days of recovery time.